Use of a bulk-email filter within a system for classifying messages for urgency or importance

ABSTRACT

The present invention relates to a system and method to facilitate efficient and automated processing of messages. A bulk filter is provided to categorize one or more received messages according to a range of classification, the range spanning from at least a bulk classification of values to at least a non-bulk classification of values. A second filter is provided to further classify the received messages in order to automatically facilitate processing of the messages. The range of classification includes a continuum of values based on a likelihood that the received messages are determined to tend toward or fall within the bulk classification of values or toward/within the non-bulk classification of values. Also, the bulk filter or filters can include an adjustable threshold setting to determine or define differences between the bulk classifications and the non-bulk classifications. Various combinations of filters are possible including multiple filter arrangements, parallel arrangements, cascaded arrangements, and other arrangements to facilitate filtering and sorting of messages in order that users can more efficiently process such information in a timely manner. Applications include the enhancement of classification procedures for identifying urgent or important email from non-urgent or non-important email, with the combination of bulk-email filters with urgency or importance filters in cascaded and parallel filtering methodologies.

REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation in part of U.S. patentapplication Ser. No. 10/220,550 filed on Aug. 30, 2002, entitledPRIORITIES GENERATION AND MANAGEMENT, which claims priority to PCTApplication Serial No. PCT/US01/08710, filed on Mar. 16, 2001, whichclaims the benefit of U.S. Provisional Patent Application Serial No.60/189,801, filed on Mar. 16, 2000, entitled ATTENTIONAL SYSTEMS ANDINTERFACES.

[0002] This application is also a continuation in part of U.S. patentapplication Ser. No. 10/220,419 filed on Aug. 30, 2002, entitledNOTIFICATION PLATFORM ARCHITECTURE, which claims priority to PCTApplication Serial No. PCT/US01/0871 1, filed on Mar. 16, 2001, whichclaims the benefit of U.S. Provisional Patent Application Serial No.60/189,801, filed on Mar. 16, 2000, entitled ATTENTIONAL SYSTEMS ANDINTERFACES. All of the aforementioned applications are incorporatedherein by reference.

TECHNICAL FIELD

[0003] The present invention relates generally to systems and methodsthat facilitate communications between devices, systems, processes,and/or individuals. More particularly, the present invention relates tothe employment of multilevel filters for managing received messages.

BACKGROUND OF THE INVENTION

[0004] With the growth of computer and information systems, and relatednetwork technologies such as wireless and Internet communications, everincreasing amounts of electronic information are communicated,transferred and subsequently processed by users and/or systems. As anexample, electronic mail programs have become a popular applicationamong computer users for generating and receiving such information. Withthe advent of the Internet, for example, exchanging e-mail or otherinformation such as voice or audio information has become an importantfactor influencing why many people acquire computers. Within manycorporate environments, e-mail, for example, has become almost a defacto standard by which coworkers exchange information. However, withthe heightened popularity of e-mail and other information transfersystems, problems have begun to appear in regard to managing andprocessing increasing amounts of information from a plurality ofsources.

[0005] Among these problems, many users now face a deluge of e-mailand/or other information from which to sort through and/or respond, suchthat the capability of being able to send, receive and processinformation has almost become a hindrance to being productive. With suchlarge numbers of e-mail and/or other electronic information, it has thusbecome difficult to manage information according to what is importantand what is not as important without substantially expending valuabletime to make a personal determination as to the importance. As anexample of these determinations, users may have to decide whethermessages should be responded to immediately, passed over to be read at alater time, or simply deleted due to non-importance (e.g., junk mail).

[0006] Some attempts have been directed to information managementproblems. For example, attempts have been made to curtail the amount ofjunk or promotional e-mail that users receive. Additionally, someelectronic mail programs provide for the generation of rules that governhow e-mail is managed within the program. For example, a rule providing,“all e-mails from certain coworkers or addresses” are to be placed in aspecial folder.

[0007] These attempts at limiting certain types of information, however,generally are not directed at the basic problem behind e-mail and otherinformation transfer/reception systems. That is, conventional systemsoften cause users to manually peruse and check at least a portion ofsome if not all of their received messages in order to determine whichmessages should be reviewed or further processed. As described above,this takes time from more productive activities. Thus, with the largequantities of information being received, there is a need for a systemand methodology to facilitate efficient processing of electronicinformation while mitigating the costs of manual interventionsassociated therewith.

SUMMARY OF THE INVENTION

[0008] The following presents a simplified summary of the invention inorder to provide a basic understanding of some aspects of the invention.This summary is not an extensive overview of the invention. It is notintended to identify key/critical elements of the invention or todelineate the scope of the invention. Its sole purpose is to presentsome concepts of the invention in a simplified form as a prelude to themore detailed description that is presented later.

[0009] The present invention provides for assigning urgency orimportance scores as well as bulk scores to one or more communicationsitems or messages (e.g., e-mail, voice encoded text). Respective itemsor messages are then sorted and/or filtered according to the assignedscores in order to facilitate message processing by users. The subjectinvention provides for a multi-level cascade and/or parallelcombinations with respect to sorting or filtering messages/items. Bypre-filtering items vis a vis the classification of the likelihood thatthe email is bulk email, removing junk items and subsequently performingprioritization of items remaining after going through a bulk pre-filterand/or junk pre-filter, a priority-based system can be substantiallyoptimized.

[0010] Single-level urgency or importance classifiers can be composed toidentify bulk email messages as having low urgency and/or importance, byincluding bulk email in the low urgency or low importance category inthe training set used to build a statistical classifier. However,training a message urgency or importance filter with bulk email includedin the low-urgency or low-importance category can diminish the filtersability to ideally distinguish urgent from non-urgent email. Forexample, bulk email can contain properties associated with important orurgent messages. To enhance the power of urgency classifiers, a separatebulk email filter can be constructed to infer the likelihood that emailis bulk email, and thus remove the email from consideration of anurgency or importance filter, raising the accuracy of the urgency orimportance classification, by reducing false positives and falsenegatives in the importance or urgency classifier. Another aspect of theinvention provides for authenticating internal e-mail or other typemessages (which corresponds with non-junk) and bypassing the bulkpre-filter—thus internal messages will be automatically prioritized(e.g., not pass through the bulk pre-filter).

[0011] Various combinations of filters are provided in accordance withthe present invention for automatically managing user messages. In oneaspect, a bulk filter and an urgency filter process received messages inparallel. Output from respective filters includes scoring of thereceived messages according to the likelihood the messages are of thebulk variety (e.g., mass sales literature) or non-bulk variety and theurgency of the received messages. Policies can be provided to enablesorting of the messages according to the assigned scores. In one aspect,bulk e-mail may be sorted into a special file or folder, whereinnon-bulk messages are sorted according to urgency, priority, and/or autility model that categorizes messages according to an expected cost ofdelayed review for urgent and non-urgent messages. In another aspect, anurgency filter computes an expected urgency score for bulk and non-bulkmessages. A bulk filter then computes a bulk score for the urgencyscored messages and performs a re-weighting process by considering thelikelihood that a given message is bulk given the bulk score.

[0012] In yet another aspect, a bulk filter may be applied to incomingmessages wherein output from the bulk filter is then processed by anurgency filter providing a cascaded filter arrangement. With such anapproach the urgency or importance filter can be employed to infer thelikelihood of urgency or importance, conditioned on the email not beingbulk email, p(urgency|not bulk email). As can be appreciated filters canbe arranged in many orders and combinations. This includes employment offilter bypass mechanisms for messages deemed of a certain type (e.g.,internal versus external). Other type filtering arrangements includeanalyzing a message's importance then processing the analyzed messagesaccording to an urgency determination. Other applications includeconsidering the loss of value over time on messages that have beencategorized to varying degrees of urgency.

[0013] To the accomplishment of the foregoing and related ends, certainillustrative aspects of the invention are described herein in connectionwith the following description and the annexed drawings. These aspectsare indicative of various ways in which the invention may be practiced,all of which are intended to be covered by the present invention. Otheradvantages and novel features of the invention may become apparent fromthe following detailed description of the invention when considered inconjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 is a schematic block diagram illustrating bulk filtering inaccordance with an aspect of the present invention.

[0015]FIG. 2 is a diagram an expected urgency determination inaccordance with an aspect of the present invention.

[0016]FIG. 3 is a diagram illustrating cascaded filtering in accordancewith an aspect of the present invention.

[0017]FIG. 4 is a diagram illustrating a filter bypass system inaccordance with an aspect of the present invention.

[0018]FIG. 5 illustrates alternative filter applications in accordancewith an aspect of the present invention.

[0019]FIG. 6 is a flow diagram illustrating message processing inaccordance with an aspect of the present invention.

[0020]FIG. 7 is a user interface illustrating filter options inaccordance with an aspect of the present invention.

[0021]FIG. 8 is a user interface illustrating training options inaccordance with an aspect of the present invention.

[0022]FIG. 9 is a user interface illustrating message sorting andannotation in accordance with an aspect of the present invention.

[0023]FIG. 10 is a schematic diagram illustrating a priorities system inaccordance with an aspect of the present invention.

[0024]FIG. 11 is a diagram illustrating classifiers in accordance withan aspect of the present invention.

[0025]FIG. 12 is a diagram illustrating message classification inaccordance with an aspect of the present invention.

[0026]FIG. 13 is a schematic block diagram illustrating systematiccooperation between a notification engine and a context analyzeraccording to an aspect of the present invention.

[0027]FIG. 14 is a schematic block diagram illustrating a suitableoperating environment in accordance with an aspect of the presentinvention.

[0028]FIG. 15 is a schematic block diagram of a sample-computingenvironment with which the present invention can interact.

DETAILED DESCRIPTION OF THE INVENTION

[0029] The present invention relates to a system and method tofacilitate efficient and automated processing of messages. A bulk filteris provided to categorize one or more received messages according to arange of classification, the range spanning from at least a bulkclassification of values to at least a non-bulk classification ofvalues. A second filter such as an urgency or importance filter,hereafter referred to as an urgency filter, is provided to furtherclassify the received messages in order to automatically facilitateprocessing of the messages. The range of classification includes acontinuum of values based on a likelihood that the received messages aredetermined to tend toward of fall within the bulk classification ofvalues or toward/within the non-bulk classification of values. Also, thebulk filter (or filters) can include an adjustable threshold setting todetermine or define differences between the bulk classifications and thenon-bulk classifications. Various combinations of filters are possibleincluding multiple filter arrangements, parallel arrangements, cascadedarrangements, and other arrangements to facilitate filtering and sortingof messages in order that users can more efficiently process suchinformation in a timely manner.

[0030] As used in this application, the terms “component,” “filter,”“model,” and “system” are intended to refer to a computer-relatedentity, either hardware, a combination of hardware and software,software, or software in execution. For example, a component may be, butis not limited to being, a process running on a processor, a processor,an object, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components mayreside within a process and/or thread of execution and a component maybe localized on one computer and/or distributed between two or morecomputers.

[0031] As used herein, the term “inference” refers generally to theprocess of reasoning about or inferring states of the system,environment, and/or user from a set of observations as captured viaevents and/or data. Inference can be employed to identify a specificcontext or action, or can generate a probability distribution overstates, for example. The inference can be probabilistic—that is, thecomputation of a probability distribution over states of interest basedon a consideration of data and events. Inference can also refer totechniques employed for composing higher-level events from a set ofevents and/or data. Such inference results in the construction of newevents or actions from a set of observed events and/or stored eventdata, whether or not the events are correlated in close temporalproximity, and whether the events and data come from one or severalevent and data sources.

[0032] Referring initially to FIG. 1, a system 100 illustrates a bulkfilter for message processing in accordance with an aspect of thepresent invention. In light of the growing problem of bulk email, thepresent invention provides a multi-level filter approach to enhancingthe classification of the urgency of email. It is noted however, thatalthough the following discussion describes email processing, that thepresent invention can be applied to substantially any type of electronicmessage processing. For example, voice messages may be automaticallyencoded into text, wherein subsequent processing of the text can occursimilarly to email. Also, various combinations of multi-level filtering(e.g., parallel and/or serial combinations) are possible as described inthe following figures and discussion.

[0033] In one approach as illustrated by the system 100, at least twofilters are employed to process emails 110 (or other type messages). Abulk email filter or classifier 114 is employed for discriminatingbetween bulk email and non-bulk email. An urgency filter 120 is employedto assign email urgency scores, with or without the use of a utilitymodel described below that assigns an expected cost of delayed reviewfor urgent versus non-urgent email. In this aspect of the presentinvention, the filters 114 and 120 examine new email 110 and annotatethe email 130 with an urgency value, represented in an urgency field134, and a likelihood of bulk email, represented in a bulk email fieldat 140, a policy component 150 includes policies or rules forconsidering inferences relating to message urgency and/or bulkconsiderations.

[0034] In one aspect of a two filter system, rules or policies areemployed by the policy component 150 to siphon away or remove bulk emailof a higher than threshold (per a user's adjustable settings orpreferences) likelihood of being bulk email into a special folder forlater review depicted as a bulk folder 160. Remaining email isclassified by urgency in another folder 164. At reference numeral 170, adiagram illustrates a range of values that may be determined for bulkcomputations and non-bulk computations. When bulk determinations aremade by the bulk filter 114, statistical determinations are providedthat compute a probability or likelihood that a respective email is ofthe bulk or non-bulk type. For example, one e-mail may have a 70%likelihood of being a bulk mailing, whereas another email may bedetermined as having a 62% likelihood of being considered bulk. Asillustrated, an adjustable threshold (e.g., user interface slidersadjusting a probability value) may be employed by users to set the levelwhen emails should be considered as bulk (e.g., all emails with adetermined likelihood below 0.50 of being bulk are to be treated asnon-bulk e-mails).

[0035] Referring now to FIG. 2, a system 200 is illustrated forperforming bulk computations in accordance with an aspect of the presentinvention. In this aspect, an expected urgency is computed at 210 foremails followed by a weighting component 220 to determine whether arespective message is of the bulk or non-bulk variety at 230 and 234,respectively. An expected urgency score is computed at 210, byconsidering the likelihood that email is bulk email, within the expectedurgency scores. In this case, urgency is computed as a function,

[0036] f(p(urgent|E1 . . . En), p(bulk email|E1 . . . En)), wherein f isa function, p is a probability, and E is evidence relating to urgency orwhether an email is bulk.

[0037] As an example, if it assumed that the urgency filter describedabove treats bulk email and normal email in a similar manner, perassignments of urgency (i.e., that urgency score is independent ofwhether or not the email is bulk email), then the expected urgency ofemail can be computed by performing an urgency analysis, and thenre-weighting it at 220 by considering the likelihood that the email isbulk email.

[0038] Generally, the urgency of bulk email is considered to be zero (orother low value). Thus, from an urgency analysis, for (in this example)a binary classification of urgency into urgent and non-urgent email,then, before bulk email analysis an expected urgency can be determinedas: $\begin{matrix}{{{Expected}\quad {urgency}} = {{p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}\left( {{Cost}\quad {of}\quad {delayed}\quad {review}} \right.}} \\{\left. \left( {{Urgent}\quad {email}} \right) \right) + \left( {1 - {p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}} \right)} \\{\left( {{Cost}\quad {of}\quad {delayed}\quad {review}\quad \left( {{Non}\text{-}{urgent}\quad {email}} \right)} \right.}\end{matrix}$${Folding}\quad {in}\quad a\quad {bulk}\quad {email}\quad {{analysis}:\text{}\begin{matrix}{\quad {= {1 - {{p\left( {{bulk}\quad {email}} \middle| {{E1}\quad \ldots \quad {En}} \right)} \times}}}} \\{\left\lbrack {{p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}\left( {{Cost}\quad {of}\quad {delayed}\quad {review}} \right.} \right.} \\{\left. \left( {{Urgent}\quad {email}} \right) \right) + \left( {1 - {p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}} \right)} \\{\left( {{Cost}\quad {of}\quad {delayed}\quad {review}\quad \left( {{Non}\text{-}{urgent}\quad {email}} \right)} \right\rbrack}\end{matrix}}$

[0039] That is, an expected urgency score can be computed from anurgency classifier (and a utility model) described below, and thendetermine the expectation considering that re-weighting it byconsidering the likelihood that the message is bulk email, consideringthe bulk email score. The following discussions consider theprobabilistic dependencies between junk filter analysis and bulk filteranalysis.

[0040] Turning to FIG. 3, a system 300 illustrates cascaded filters inaccordance with an aspect of the present invention. In this aspect, abulk filter 310 computes bulk score (e.g., probability), or discretizedstates of that score, as a direct input to an urgency filter 320. Aclassifier, for example, can be constructed that takes intoconsideration the bulk score. To achieve this, the bulk filter 310 isinitially constructed, and then the urgency filter 320 is later trainedconstructed employing output from the bulk filter. This type approach isreferred to as a cascade of filters. As can be appreciated, otherfilters illustrated at 330 can be similarly added to the cascade.

[0041] Referring now to FIG. 4, a system 400 illustrates messagebypassing in accordance with an aspect of the present invention. In thisaspect, a header analyzer 410 automatically removes consideration ofsome email from a bulk filter 420, as the filter can have some finitefalse positive rate. By analysis of the header of email or other typemessages, email can be identified as being generated internally -thatis, within an organization, for example. Internal messages are speciallymarked or flagged as being immune to the bulk-email filter 420, thus,bypassing this filter.

[0042]FIG. 5 illustrates alternative aspects of the present invention.In this aspect, multiple filters and/or filter cascades are employed toseparately identify important email (email that is important to see, butthat is not time-critical) from urgent or time-critical messages. Thus,at 510, classifiers for importance are constructed, and then a second(or other) layers of classifiers at 520 are utilized to compute theurgency of messages given different importance values. In anotherapplication of multiple filters, filters can be developed at 530 thatprovide an initial value of a message, versus those messages that yieldthe loss of value over time. This allows building time-dependent costfunctions at 540 that capture the initial value from 530 and determineloss of the initial value with time for respective messages at 540.

[0043] It is noted that various combinations of parallel or cascadedfilters can also be employed to classify separately importance andurgency, wherein one filter classifies messages by importance and thesecond analyzes messages for urgency. Thus, for example, in a cascade offilters, bulk email versus non-bulk can be sorted as previouslydescribed, then importance of non-bulk messages is determined via animportance filter to provide further sorting, then urgency of importantmessages is determined via an urgency filter.

[0044]FIG. 6 illustrates a methodology for providing filtering andmessage processing in accordance the present invention. While, forpurposes of simplicity of explanation, the methodology is shown anddescribed as a series of acts, it is to be understood and appreciatedthat the present invention is not limited by the order of acts, as someacts may, in accordance with the present invention, occur in differentorders and/or concurrently with other acts from that shown and describedherein. For example, those skilled in the art will understand andappreciate that a methodology could alternatively be represented as aseries of interrelated states or events, such as in a state diagram.Moreover, not all illustrated acts may be required to implement amethodology in accordance with the present invention.

[0045] Proceeding to 602, at least one bulk filter is constructed forprocessing incoming messages such as email or other type messages. At604, at least one other type of filter is constructed that cooperateswith the bulk filter constructed at 604. Such filters include urgencyfilters, importance filters, time critical filters, and/or weightedfilters for example. At 608, the filters constructed at 602 and 604 areapplied to incoming messages in various combinations. This can includeparallel combinations of filters, serial combinations, and/orcombinations having some serial elements and some parallel elements. At612, messages are automatically analyzed and filtered according todesired combinations configured at 608. This can include dynamic sortingoperations, wherein messages deemed to be of the bulk variety are sortedout into a separate folder, whereas other messages are prioritized in aninbox, for example. Other aspects include enabling users to setthresholds that set likelihood limits for when an item is consideredbulk. If an item scores above the threshold for example, indicating thata message has been determined to be bulk, then the respective bulk emailcan be deleted, removed, and/or sorted.

[0046]FIG. 7 is a user interface 700 depicting filter settings inaccordance with an aspect of the present invention. At 710, a selectionis provided to enable users to filter items having a bulk score over asettable value (e.g., for items having a bulk score over 90, sort theseitems into a bulk email folder). At 720, a bypass selection option isprovided. For example, if an email is determined to be of an internaltype, exclude such emails from a bulk filter analysis. These controlsallow for separate sifting and filtering out bulk email, prior tourgency analysis and/or allow excluding certain items marked asinternal, for example, from being exposed to bulk filter analysis.

[0047]FIG. 8 is a user interface 800 depicting filter settings inaccordance with an aspect of the present invention. The interface 800includes various selections for configuring filters. At 810, a selectionis provided to enable users to train a bulk filter (e.g., observe theseselected bulk items to learn how to distinguish bulk items). Otheroptions include, urgency training, graph options, active filterselections, agent options, and prioritization options.

[0048]FIG. 9 is a user interface 900 depicting priority score and bulkemail fields in accordance with an aspect of the present invention. Asnoted above, Priority score is generally derived from p(urgent email|E1. . . En), whereas Bulk score is derived from p(bulk email|E1 . . . En).Three sample annotated messages are displayed in the interface 800although other messages can be similarly processed.

[0049] p(bulk email|E1 . . . En)=0.31 and p(urgent|notjunk)=0.99

[0050] At 820, p(bulk email|E1 . . . En)=0.66 and p(urgent|notjunk)=0.31

[0051] At 830 p(bulk email|E1 . . . En)=0.00 and p(urgent|notjunk)=0.90.Note, these scores can be employed separately, or can be built as acomposite score. Referring to FIG. 10, a system 1010 illustrates apriorities system 1012 and notification architecture in accordance withan aspect of the present invention. The priorities system 1012 receivesone or more messages or notifications 1014, generates a priority ormeasure of importance (e.g., probability value that the message is of ahigh or low importance) for the associated message, and provides the oneor more messages with an associated priority value at an output 1016. Aswill be described in more detail below, classifiers can be constructedand trained to automatically assign measures of priorities to themessages 1014. For example, the output 1016 can be formatted such thatmessages are assigned a probability that the message belongs in acategory of high, medium, low or other degree category of importance.The messages can be automatically sorted in an in box of an e-mailprogram (not shown), for example, according to the determined categoryof importance. The sorting can also include directing files to systemfolders having defined labels of importance. This can include havingfolders labeled with the degree of importance such as low, medium andhigh, wherein messages determined of a particular importance are sortedto the associated folder. Similarly, one or more audio sounds or visualdisplays (e.g., icon, symbol) can be adapted to alert the user that amessage having a desired priority has been received (e.g., three beepsfor high priority message, two beeps for medium, one beep for low, redor blinking alert symbol for high priority, green and non-blinking alertsymbol indicating medium priority message has been received).

[0052] According to another aspect of the present invention, anotification platform 1017 can be employed in conjunction with thepriorities system 1012 to direct prioritized messages to one or morenotification sinks accessible to users. As will be described in moredetail below, the notification platform 1017 can be adapted to receivethe prioritized messages 1016 and make decisions regarding when, where,and how to notify the user, for example. As an example, the notificationplatform 1017 can determine a communications modality (e.g., currentnotification sink 1018 of the user such as a cell phone, or PersonalDigital Assistant (PDA)) and likely location and/or likely focus ofattention of the user. If a high importance e-mail were received, forexample, the notification platform 1017 can determine the userslocation/focus and direct/reformat the message to the notification sink1018 associated with the user. If a lower priority message 1016 werereceived, the notification platform 1017 can be configured to leave thee-mail in the user's in-box for later review as desired, for example. Aswill be described in more detail below, other routing and/or alertingsystems 1019 may be utilized to direct prioritized messages 1016 tousers and/or other systems.

[0053] In the following section of the description, the generation of apriority for electronic files such as an e-mail is described via anautomatic classification system and process. The generation ofpriorities for messages represented electronically as described can thenbe employed in other systems. The description in this section isprovided in conjunction with FIG. 11 and FIG. 12, the former which is adiagram illustrating explicit and implicit training of a classifier, andthe latter which is a diagram depicting how a priority for an electronicmessage is generated by input to the classifier.

[0054] Referring now to FIG. 11, a text/data classifier 1120 can betrained explicitly, as represented by the arrow 1122, and implicitly, asrepresented by the arrow 1124 to perform classification in terms ofpriority. Explicit training represented by the arrow 1122 is generallyconducted at the initial phases of constructing the classifier 1120,while the implicit training represented by the arrow 1124 is typicallyconducted after the classifier 1120 has been constructed—to fine tunethe classifier 1120, for example, via a background monitor 1134.Specific description is made herein with reference to Support VectorMachines (SVM) classifier, for exemplary purposes of illustrating aclassification training and implementation approach. Otherclassification or diagnostic methods that can be handcrafted and/orlearned from data include Bayesian networks, decision trees, andprobabilistic classification models providing different patterns ofindependence may be employed. Classification as used herein also isinclusive of statistical regression that is utilized to develop modelsof urgency or other measures of priority influencing an alerting and/orrouting policy.

[0055] Training of the text classifier 1120 as represented by the arrow1122 includes constructing the classifier in 1126, including utilizingfeature selection. In the explicit training phase, the classifier 1120can be presented with both time-critical and non-time-critical texts, sothat the classifier may be able to discriminate between the two, forexample. This training set may be provided by the user, or a standard ordefault training set may be utilized. Given a training corpus, theclassifier 1120 first applies feature-selection procedures that attemptto find the most discriminatory features. This process can employ amutual-information analysis, for example. Feature selection can operateon one or more words or higher-level distinctions made available, suchas phrases and parts of speech tagged with natural language processing.That is, the text classifier 1120 can be seeded with specially taggedtext to discriminate features of a text that are considered important.

[0056] Feature selection for text classification typically performs asearch over single words. Beyond the reliance on single words,domain-specific phrases and high-level patterns of features are alsomade available. Special tokens can also enhance classification. Thequality of the learned classifiers for e-mail criticality, for example,can be enhanced by inputting to the feature selection procedureshandcrafted features that are identified as being useful fordistinguishing among e-mail of different time criticality. Thus, duringfeature selection, one or more words as well as phrases and symbols thatare useful for discriminating among messages of different levels of timecriticality are considered.

[0057] As the following examples illustrate, tokens and/or patterns ofvalue in identifying the criticality of messages include suchdistinctions as, and including Boolean combinations of the following:

[0058] Information in a Message Header

[0059] For example:

[0060] To: Field (Recipient Information)

[0061] Addressed just to user,

[0062] Addressed to a few people including user,

[0063] Addressed to an alias with a small number of people,

[0064] Addressed to several aliases with a small number of people,

[0065] Cc:'d to user,

[0066] Bcc:'d to user.

[0067] From: Field (Sender Information)

[0068] Names on pre-determined list of important people, potentiallysegmented into a variety of classes of individuals, (e.g., Familymembers, Friends)

[0069] Senders identified as internal to the user'scompany/organization,

[0070] Information about the structure of organizational relationshipsrelative to the user drawn from an online organization chart such as:

[0071] Managers user reports to,

[0072] Managers of the managers of users,

[0073] People who report to the user,

[0074] External business people.

[0075] Past Tense Information

[0076] These include descriptions about events that have alreadyoccurred such as:

[0077] We met, meeting went, happened, got together, took care of,meeting yesterday.

[0078] Future-Tense Information

[0079] Tomorrow, This week, Are you going to, When can we, Lookingforward to, Will this, Will be.

[0080] Meeting and Coordination Information

[0081] Get together, Can you meet, Will get together, Coordinate with,Need to get together, See you, Arrange a meeting, Like to invite, Bearound.

[0082] Resolved Dates

[0083] Future vs. past dates and times indicated from patterns of textto state dates and times explicitly or typical abbreviations such as:

[0084] On 5/2, At 12:00.

[0085] Periods Until Identified Times

[0086] Period of time between message composition or receipt andresolved dates and times. Computation of the time between a messagecomposition date or receipt date and one or more resolved times anddates being referred to in the message.

[0087] e.g., Message composed on Tuesday, March 12 at 10 am containingphrase, “How about getting lunch this afternoon?”

[0088] Lunch this afternoon resolved to 12:00 pm

[0089] Period of time until resolved date/time=2 hours

[0090] Questions

[0091] Words, phrases adjacent to questions marks (?)

[0092] Indications of Personal Requests:

[0093] Can you, Are you, Will you, you please, Can you do, Favor to ask,From you.

[0094] Indications of Need:

[0095] I need, He needs, She needs, I'd like, It would be great, I want,He wants, She wants, Take care of.

[0096] Indications of Time Criticality

[0097] happening soon, right away, deadline will be, deadline is, assoon as possible, needs this soon, to be done soon, done right away,this soon, by [date], by [time].

[0098] Importance

[0099] is important, is critical, Word, phrase+!, Explicit priority flagstatus (low, none, high).

[0100] Length of Message

[0101] Number of bytes in component of new message.

[0102] Salient Signs of Commercial and Adult-Content Junk E-Mail

[0103] Free!!, Word+! !!, Under 18, Adult's only, Percent of capitalizedwords, Percent non-alphanumeric characters.

[0104] Beyond keywords and phrases, statistics on parts of speech andlogical forms of sentences appearing in the subject and body of messagescan also be employed.

[0105] Patterns of Pointers

[0106] Pointers to resources external to the email message, such as URLsembedded in mail messages.

[0107] Number and type of pointers to sites outside of a user'sorganizational domain

[0108] Number and type of pointers to sites within a user'sorganizational domain.

[0109] Background Colors

[0110] Email senders may employ different background patterns than thedefault white background that is commonly used.

[0111] Embedded Graphics

[0112] Number, type, and size of graphics files.

[0113] e.g., files with .jpg, .gif file extensions that are rendered asgraphical images

[0114] HTML and XML

[0115] HTML and XML for rich control of rendering and for execution ofscripts may be embedded in email.

[0116] General Natural Language Processing Analysis

[0117] Statistics on appearances of parts of speech and logical forms insentences in a message,

[0118] Identification of various factoid classes,

[0119] Different patterns of presentation, and so forth.

[0120] It is noted that the word or phrase groupings depicted aboveillustrate exemplary words, groupings, or phrases that may be utilizedfrom which to conduct classifier training. It is to be appreciated thatother similar words, groups, or phrases may be similarly employed andthus the present invention is not limited to the illustrated examples.

[0121] Furthermore, still referring to FIG. 11, implicit training of theclassifier 1120, as represented by the arrow 1124, can be conducted bymonitoring the user work or usage patterns via the background monitor1134 that can reside on the user's desktop or mobile computer, forexample. For example, as users work, and lists of mail are reviewed, itcan be assumed that time-critical messages are read first, andlower-priority messages are reviewed later, and/or deleted. That is,when presented with a new e-mail, the user is monitored to determinewhether he or she immediately opens the e-mail, and in what order,deletes the email without opening, and/or replies to the e-mailrelatively in a short amount of time. Thus, the classifier 1120 isadapted such that a user is monitored while working or operating asystem, the classifier is periodically refined by training in thebackground and updated for enhancing real-time decision-making.Background techniques for building classifiers can extend from thosethat update the classifier 1120 with new training messages.

[0122] Alternatively, larger quantities of messages can be gathered,wherein new filters are created in a batch process, either per a dailyschedule, per the number of new quantities of messages admitted to thetraining set, and/or combinations. For each message inputted into theclassifier, for example, a new case for the classifier can be created.The cases are stored as negative and positive examples of texts that areeither high or low priority, for example. As an example, one or morelow, medium, and high urgency classes can be recognized such that theprobabilities of membership in each of these classes are utilized tobuild an expected criticality. Larger numbers of criticality classes canbe utilized to seek higher resolution. For example, as illustrated inFIG. 12, a training set of messages 1240 (e.g., very high, high, medium,normal, low, very low, etc.) can be initially employed to train aclassifier 1242, such that real-time classification is achieved, asindicated at 1244, wherein new messages are classified according to thenumber of examples resolved by the training set 1240. In FIG. 12, threesuch categories are illustrated for exemplary purposes, however, it isto be appreciated that a plurality of such categories may be trainedaccording to varying degrees of desired importance. As illustrated, thenew messages 1244 may be labeled, tagged and/or sorted into one or morefolders 1246, for example, according to the priorities assigned by theclassifier 1242. As will be described in more detail below, the assignedpriorities may further be utilized by subsequent systems to make messageformat, delivery and modality determinations to/for the user.

[0123] According to another aspect of the invention, an estimation of anumber or value can be achieved by monitoring a user interact withe-mail, for example, rather than labeling the case or message as one ofa set of folders. Thus, a classifier can be continued to be updated buthave a moving window, wherein cases of messages or documents that arenewer than some age are considered, as specified by the user.

[0124] For example, a constant rate of loss associated with the delayedreview of messages is referred to as the expected criticality (EC) ofthe message, wherein,${EC} = {\sum\limits_{i}{{C^{d}\left( H_{i} \right)}{p\left( H_{i} \middle| E^{d} \right)}}}$

[0125] wherein C is a cost function, d is a delay, E is an event, H isthe criticality class of the e-mail, and EC is expressed as the sum overthe likelihood of the class(es) weighted by the rate of loss describedby the cost function C for the potential class(es).

[0126] As an example, referring to FIG. 12, the text, such as an e-mailmessage, 1236 is input into the classifier 1220, which based thereongenerates the priority 1238 for the text 1236. That is, the classifier1220 generates the priority 1238, measured as a percentage from 0 to100%, for example. This percentage can be a measure of the likelihoodthat the text 1236 is of high or some other priority, based on theprevious training of the classifier 1220.

[0127] It is noted that the present invention as has been describedabove, the classifier 1220 and the priority 1238 can be based on ascheme wherein the e-mails in the training phase are construed as eitherhigh priority or low priority, for example. As described above, aplurality of other training sets may be employed to provide greater orhigher resolution distinctions of priorities.

[0128] The present invention is not limited to the definition ofpriority as this term is employed by the classifier to assign suchpriority to a message such as an e-mail message. Priority can be definedin terms of a loss function, for example. More specifically, prioritycan be defined in terms of the expected cost in lost opportunities pertime delayed in reviewing the message after it has be received. That is,the expected loss or cost that will result for delayed processing of themessage. The loss function can further vary according to the type ofmessage received.

[0129] It is noted that a criticality “C” which is described in moredetail below can be assigned to the cost functions. Thus, “C” generallydescribes a “cost rate” which refers to the rate at which cost isaccrued with delayed review. The “cost functions” are thus defined asthe “rate” at which cost is accrued. A total cost, which can be definedas an Expected Loss, “EL” can be defined as:

[0130] EL=C*t, wherein the amount of time, t, has transpired between themessage being sent and its receipt. If the cost rate is considered to beconstant, to the total expected loss rises linearly with increasingamounts of time delay until a message is reviewed. There may typicallybe uncertainty in the amount of time that will transpire until a messageis reviewed by a user, (e.g., based on the user's context now or theexpected future context of the user), or, more generally, based upon oneor more observations (e.g., the time the user was last seen at a desktopcomputer, the user's current appointment status in the calendar, and soforth), and/or data about past behavior of the user. Given suchuncertainty, the expected loss is computed by summing together theexpected losses for each amount of time delay, and weighting thecontribution of loss for each potential delay by the probability ofseeing that time delay such as:${EL}^{\prime} = {\sum\limits_{j}{{p\left( t_{j} \middle| E \right)}{\sum\limits_{i}^{n}{{p\left( {critical}_{i} \right)}{C\left( {critical}_{i} \right)}t_{j}}}}}$

[0131] wherein EL′ is an uncertainty in time of delay, E represents oneor more observations about a user state (e.g., a calendar, a roomacoustic, a desktop activity, a time since last touched an activedevice), and i and j are indexes, i and j being integers.

[0132] If the cost rate is non-linear, the loss with delayed review canbe similarly computed but with integration of the time-dependent rateover time such as:${EL}^{\prime} = {\sum\limits_{j}{{p\left( t_{j} \middle| E \right)}{\int_{0}^{t_{j}}{{p\left( {critical}_{i} \right)}{C\left( {{critical}_{i},t} \right)}{t}}}}}$

[0133] An expected loss can also be computed by adding a term to capturethe likelihood of different delays.

[0134] For example, some messages, however, do not have their prioritieswell approximated by the use of a linear cost function. As an example, amessage relating to a meeting will have its cost function increase asthe time of the meeting nears, and thereafter, the cost function rapidlydecreases. That is, after the meeting is missed, there is not muchgenerally a user can do about it. This situation is better approximatedby a non-linear cost function, as depicted in FIG. 33. In a graph 2462,a cost function 2464 can be represented as a total cost based onnon-linear rates. Thus, the cost function 2464 can be represented as asigmoid curve with cost starting at about zero and going up nonlinearly,in a monotonic manner, and eventually leveling off. Depending on amessage's type, the cost function can be approximated by one of manydifferent representative cost functions, both linear and non-linear ascan be appreciated.

[0135] Thus, as has been described, the priority of a message can bejust the likelihood that it is of one of a plurality of priorities basedon the output of a classifier, or the most likely priority class themessage applies to, also based on the output of the classifier.Alternatively, an expected time criticality of the message, such as ane-mail message, can be determined. This can be written as:${EC} = {\sum\limits_{i}^{n}{{p\left( {critical}_{i} \right)}{C\left( {critical}_{i} \right)}}}$

[0136] wherein EC is the expected rate of loss, p(critical_(i)) is theprobability that a message has the criticality i, C(critical_(i)) is thecost function for messages having the criticality i, representing theconstant rate of loss of value with delayed review, and n is the totalnumber of criticality classes minus one. In the general case, costfunctions may be linear or non-linear, as has been described. In thecase where the function is linear, the cost function defines a constantrate of loss with time. For non-linear functions, the rate of losschanges with delayed review or processing of the message and canincrease or decrease, depending on the amount of delay.

[0137] If there are two criticality classes low and high as an example,the expected loss can be reformulated as:

EC=p(critical_(high))C(critical_(high))+[1−p(critical_(high))]C(critical_(low))

[0138] wherein EC is the expected criticality of a message. Furthermore,if the cost function of low criticality messages is set to zero, thisbecomes:

EC=p(critical_(hjgh))C(critical_(high))

[0139] For rate of loss that is non-linear with respect to time, anindex can be created for the rate of loss by the time of delayed review.In such cases, the total loss until the time of review of a message canbe computed and can be expressed as the integration of thetime-dependent criticality, or,

EL=∫ ₀ p(critical_(high))C(critical_(high) ,t)dt

[0140] wherein t is the time delay before reviewing the document ormessage.

[0141] Other measures that accord a value metric for ranking documents,such as e-mail messages, by importance. While the discussion abovefocused on priority as time criticality, other notions of “importance”can also be trained. For example, this can be accomplished by labeling aset of training folders: “High Importance” all the way down to “LowImportance” wherein a measure of “expected importance” can bedetermined. Another metric can be based on a semantic label, “messagesthat I would wish to hear about within 1 day while traveling” and todetermine a measure for prioritizing messages for forwarding to atraveling user. Furthermore, one utilized metric is urgency ortime-criticality, as it has clear semantics for decision-making, triage,and routing. In this case, the classes are labeled according todifferent levels of urgency and computed as an expected urgency for eachmessage from the probabilities inferred that the message is in eachclass.

[0142] Extensions to criticality classification, as described in theprevious section, can also be provided in accordance with the presentinvention. For instance, classification can include an automatic searchfor combinations of high-payoff features within or between classes offeatures. As an example, combinations of special distinctions,structures, and so forth, with words that have been found to beparticularly useful for certain users can be searched for and utilizedin the classification process. A combination of two features is referredas a doublet, whereas a combination of three features is referred to asa triplet, and so forth. The combination of features can enable improvedclassification. Classification can also be improved with the use ofincremental indexing that employs a moving window in the classifier.This enables the classifier to be routinely refreshed, as old data istimed out, and new data is brought in.

[0143] Classification can also be based on the determination of the dateand time of an event specified in a message. This determination canassign features to the message that can be utilized by the classifier.For example, the features assigned may include: today within four hours,today within eight hours, tomorrow, this week, this month, and nextmonth and beyond. This enables the classifier to have improved accuracywith respect to the messages that are classified. In general,classification can be based on the time of the referenced event,considering whether the event is in the future or has past. With respectto future events, classification thus considers the sender's referenceto a time in the future when the event is to occur.

[0144] Other new features can also be integrated into the classificationprocess. For example, an organization chart can be utilized to determinehow important a message is by the sender's location within the chart.Linguistic features may be integrated into the classifier. Toaccommodate different languages, the features may be modified dependingon the origin of the sender, and/or the language in which the message iswritten. Classification may vary depending on different folders in whichmessages are stored, as well as other scaling and control rules. Inaddition to e-mail and other sources, classification can be performed oninstant messages, and other sources of information, such as stocktickers, and so forth.

[0145] In general, a sender-recipient structural relationship may beconsidered in the classification process. If the user is substantiallythe only recipient of a message, for example, then this message may beconsidered as more important than a message sent to a small number ofpeople. In turn, a message sent to a small number of people may be moreimportant than a message on which the user is blind-copied (bcc'ed) orcarbon-copied (cc'ed). With respect to the sender, criticality may beassigned based on whether the sender's name is recognized. Criticalitymay also be assigned depending on whether the sender is internal orexternal to the organization of which the user is associated.

[0146] Other distinctions that may be considered in classificationinclude the length of the message, whether questions have been detected,and whether the user's name is in the message. Language associated withtime criticality may increase the message's importance. For example,phrases such as “happening soon,” “right away,” “as soon as possible,”“ASAP,” and “deadline is,” may render the message more critical. Usageof past tense as compared to future tense may be considered, as well ascoordinative tasks specified by phrases such as “get together,” “can wemeet,” and so on. Evidence of junk mail may lower the priority of amessage. Predicates representing combinations, such as a short questionfrom a sender proximate to the user in the organization chart, may alsobe considered in the classification process.

[0147] Turning now to FIG. 13, a system 1300 illustrates how anotification engine and context analyzer function together according toan aspect of the present invention. The system 1300 includes a contextanalyzer 1322, a notification engine 1324, one or more notificationsources 1 through N, 1326, 1327, 1328, a priorities system 1330, whichcan operate as a notification source, and one or more notificationsinks, 1 through M, 1336, 1337, 1338, wherein N an M are integers,respectively. The sources are also referred to as event publishers,while the sinks are also referred to as event subscribers. There can beany number of sinks and sources. In general, the notification engine1324 conveys notifications, which are also referred to as events oralerts, from the sources 1326-1328 to the sinks 1336-1338, based in parton parametric information stored in and/or accessed by the contextanalyzer 1322.

[0148] The context analyzer 1322 stores/analyzes information regardingvariables and parameters of a user that influence notificationdecision-making. For example, the parameters may include contextualinformation, such as the user's typical locations and attentional focusor activities per the time of day and the day of the week, andadditional parameters conditioned on such parameters, such as thedevices users tend to have access to in different locations. Suchparameters may also be functions of observations made autonomously viaone or more sensors. For example, one or more profiles (not shown) maybe selected or modified based on information about a user's location ascan be provided by a global positioning system (GPS) subsystem, oninformation about the type of device being used and/or the pattern ofusage of the device, and the last time a device of a particular type wasaccessed by the user. Furthermore, as is described in more detail below,automated inference may also be employed, to dynamically inferparameters or states such as location and attention. The profileparameters may be stored as a user profile that can be edited by theuser. Beyond relying on sets of predefined profiles or dynamicinference, the notification architecture can enable users to specify inreal-time his or her state, such as the user not being available exceptfor important notifications for the next “x” hours, or until a giventime, for example.

[0149] The parameters can also include default notification preferenceparameters regarding a user's preference as to being disturbed bynotifications of different types in different settings, which can beused as the basis from which to make notification decisions by thenotification engine 1324, and upon which a user can initiate changes.The parameters may include default parameters as to how the user wishesto be notified in different situations (e.g., such as by cell phone, bypager). The parameters can include such assessments as the costs ofdisruption associated with being notified by different modes indifferent settings. This can include contextual parameters indicatingthe likelihoods that the user is in different locations, the likelihoodsthat different devices are available, and the likelihoods of his or herattentional status at a given time, as well as notification parametersindicating how the user desires to be notified at a given time.

[0150] Information stored by the context analyzer 1322, according to oneaspect of the present invention is inclusive of contextual informationdetermined by the analyzer. The contextual information is determined bythe analyzer 1322 by discerning the user's location and attentionalstatus based on one or more contextual information sources (not shown),as is described in more detail in a later section of the description.The context analyzer 1322, for example, may be able to determine withprecision the actual location of the user via a global positioningsystem (GPS) that is a part of a user's car or cell phone. The analyzermay also employ a statistical model to determine the likelihood that theuser is in a given state of attention by considering backgroundassessments and/or observations gathered through considering suchinformation as the type of day, the time of day, the data in the user'scalendar, and observations about the user's activity. The given state ofattention can include whether the user is open to receivingnotification, busy and not open to receiving notification, and caninclude other considerations such as weekdays, weekends, holidays,and/or other occasions/periods.

[0151] The sources 1326-1328, 1330 generate notifications intended forthe user and/or other entity. For example, the sources 1326-1328 mayinclude communications, such as Internet and network-basedcommunications, and telephony communications, as well as softwareservices. Notification sources are defined generally herein as thatwhich generates events, which can also be referred to as notificationsand alerts, intended to alert a user, or a proxy for the user, aboutinformation, services, and/or a system or world event. A notificationsource can also be referred to as an event source.

[0152] For example, e-mail may be generated as notifications by thepriorities system 1330 such that it is prioritized, wherein anapplication program or system generating the notification assigns thee-mail with a relative priority corresponding to the likely importanceor urgency of the e-mail to the user. The e-mail may also be sentwithout regard to the relative importance to the user. Internet-relatedservices can include notifications including information that the userhas subscribed to, such as headlines of current news every so often, andstock quotes, for example.

[0153] Notification sources 1326-1328 can themselves be push-type orpull-type sources. Push-type sources are those that automaticallygenerate and send information without a corresponding request, such asheadline news and other Internet-related services that send informationautomatically after being subscribed to. Pull-type sources are thosethat send information in response to a request, such as e-mail beingreceived after a mail server is polled. Still other notification sourcesinclude the following:

[0154] e-mail desktop applications such as calendar systems; computersystems (e.g., that may alert the user with messages that informationabout alerts about system activity or problems);

[0155] Internet-related services, appointment information, schedulingqueries;

[0156] changes in documents or numbers of certain kinds of documents inone or more shared folders;

[0157] availability of new documents in response to standing orpersistent queries for information; and/or,

[0158] information sources for information about people and theirpresence, their change in location, their proximity (e.g., let me knowwhen I am traveling if another coworker or friend is within 10 miles ofme”), or their availability (e.g., let me know when Steve is availablefor a conversation and is near a high-speed link that can support fullvideo teleconferencing”).

[0159] The notification sinks 1336-1338 are able to providenotifications to the user. For example, such notification sinks1336-1338 can include computers, such as desktop and/or laptopcomputers, handheld computers, cell phones, landline phones, pagers,automotive-based computers, as well as other systems/applications as canbe appreciated. It is noted that some of the sinks 1336-1338 can conveynotifications more richly than other of the sinks. For example, adesktop computer typically has speakers and a relatively large colordisplay coupled thereto, as well as having a higher bandwidth forreceiving information when coupled to a local network or to theInternet. Thus, notifications can be conveyed by the desktop computer tothe user in a relatively rich manner. Conversely, many cell phones havea smaller display that can be black and white, and receive informationat a relatively lower bandwidth, for example. Correspondingly, theinformation associated with notifications conveyed by cell phones maygenerally be shorter and geared towards the phone's interfacecapabilities, for example. Thus, the content of a notification maydiffer depending on whether it is to be sent to a cell phone or adesktop computer. According to one aspect of the present invention, anotification sink can refer to that which subscribes, via an eventsubscription service, for example, to events or notifications.

[0160] The notification engine 1324 accesses the information storedand/or determined by the context analyzer, and determines which of thenotifications received from the sources 1326-1328 to convey to which ofthe sinks 1336-1338. Furthermore, the notification engine 1324 candetermine how the notification is to be conveyed, depending on which ofthe sinks 1336-1338 has been selected to send the information to. Forexample, it may be determined that notifications should be summarizedbefore being provided to a selected sinks 1336-1338.

[0161] The invention is not limited to how the engine 1324 makes itsdecisions as to which of the notifications to convey to which of thenotification sinks, and in what manner the notifications are conveyed.In accordance with one aspect, a decision-theoretic analysis can beutilized. For example, the notification engine 1324 can be adapted toinfer important uncertainties about variables including a user'slocation, attention, device availability, and amount of time until theuser will access the information if there were no alert. Thenotification engine 1324 can then make notification decisions aboutwhether to alert a user to a notification, and if so, the nature of thesummarization and the suitable device or devices to employ for relayingthe notification. In general, the notification engine 1324 determinesthe net expected value of a notification. In doing so, it can considerthe following:

[0162] the fidelity and transmission reliability of each availablenotification sink;

[0163] the attentional cost of disturbing the user;

[0164] the novelty of the information to the user;

[0165] the time until the user will review the information on his or herown;

[0166] the potentially context-sensitive value of the information;and/or,

[0167] the increasing and/or decreasing value over time of theinformation contained within the notification.

[0168] Inferences made about uncertainties thus may be generated asexpected likelihoods of values such as the cost of disruption to theuser with the use of a particular mode of a particular device given someattentional state of the user, for example. The notification engine 1324can make decisions as to one or more of the following:

[0169] what the user is currently attending to and doing (based on, forexample, contextual information);

[0170] where the user currently is;

[0171] how important the information is;

[0172] what is the cost of deferring the notification;

[0173] how distracting would a notification be;

[0174] what is the likelihood of getting through to the user; and,

[0175] what is the fidelity loss associated with the use of a specificmode of a given notification sink.

[0176] Therefore, the notification engine 1324 can perform an analysis,such as a decisiontheoretic analysis, of pending and activenotifications, evaluates context-dependent variables provided byinformation sinks and sources, and infers selected uncertainties, suchas the time until a user is likely to review information and the user'slocation and current attentional state.

[0177] Furthermore, the notification engine 1324 can access informationstored in a user profile by the context analyzer 1322 in lieu of or tosupport a personalized decision-theoretic analysis. For example, theuser profile may indicate that at a given time, the user prefers to benotified via a pager, and only if the notification has a predeterminedimportance level. Such information can be utilized as a baseline fromwhich to start a decision-theoretic analysis, or can be the manner bywhich the notification engine 1324 determines how and whether to notifythe user.

[0178] According to one aspect of the present invention, thenotification platform architecture 1300 can be configured as a layerthat resides over an eventing or messaging infrastructure. However, theinvention is not limited to any particular eventing infrastructure.Furthermore, the architecture can be configured as a layer that residesover a flexible distributed computational infrastructure, as can beappreciated by those of ordinary skill within the art. Thus, thenotification platform architecture can utilize an underlyinginfrastructure as a manner by which sources send notifications, alertsand events, and as a manner by which sinks such as endpoint devicesreceive notifications, alerts and events, for example. The presentinvention is not so limited, however.

[0179] With reference to FIG. 14, an exemplary environment 1410 forimplementing various aspects of the invention includes a computer 1412.The computer 1412 includes a processing unit 1414, a system memory 1416,and a system bus 1418. The system bus 1418 couples system componentsincluding, but not limited to, the system memory 1416 to the processingunit 1414. The processing unit 1414 can be any of various availableprocessors. Dual microprocessors and other multiprocessor architecturesalso can be employed as the processing unit 1414.

[0180] The system bus 1418 can be any of several types of busstructure(s) including the memory bus or memory controller, a peripheralbus or external bus, and/or a local bus using any variety of availablebus architectures including, but not limited to, 11-bit bus, IndustrialStandard Architecture (ISA), Micro-Channel Architecture (MSA), ExtendedISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Universal Serial Bus (USB),Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), and Small Computer SystemsInterface (SCSI).

[0181] The system memory 1416 includes volatile memory 1420 andnonvolatile memory 1422. The basic input/output system (BIOS),containing the basic routines to transfer information between elementswithin the computer 1412, such as during start-up, is stored innonvolatile memory 1422. By way of illustration, and not limitation,nonvolatile memory 1422 can include read only memory (ROM), programmableROM (PROM), electrically programmable ROM (EPROM), electrically erasableROM (EEPROM), or flash memory. Volatile memory 1420 includes randomaccess memory (RAM), which acts as external cache memory. By way ofillustration and not limitation, RAM is available in many forms such assynchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), SynchlinkDRAM (SLDRAM), and direct Rambus RAM (DRRAM).

[0182] Computer 1412 also includes removable/non-removable,volatile/non-volatile computer storage media. FIG. 14 illustrates, forexample a disk storage 1424. Disk storage 1424 includes, but is notlimited to, devices like a magnetic disk drive, floppy disk drive, tapedrive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memorystick. In addition, disk storage 1424 can include storage mediaseparately or in combination with other storage media including, but notlimited to, an optical disk drive such as a compact disk ROM device(CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RWDrive) or a digital versatile disk ROM drive (DVD-ROM). To facilitateconnection of the disk storage devices 1424 to the system bus 1418, aremovable or non-removable interface is typically used such as interface1426.

[0183] It is to be appreciated that FIG. 14 describes software that actsas an intermediary between users and the basic computer resourcesdescribed in suitable operating environment 1410. Such software includesan operating system 1428. Operating system 1428, which can be stored ondisk storage 1424, acts to control and allocate resources of thecomputer system 1412. System applications 1430 take advantage of themanagement of resources by operating system 1428 through program modules1432 and program data 1434 stored either in system memory 1416 or ondisk storage 1424. It is to be appreciated that the present inventioncan be implemented with various operating systems or combinations ofoperating systems.

[0184] A user enters commands or information into the computer 1412through input device(s) 1436. Input devices 1436 include, but are notlimited to, a pointing device such as a mouse, trackball, stylus, touchpad, keyboard, microphone, joystick, game pad, satellite dish, scanner,TV tuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the processing unit 1414through the system bus 1418 via interface port(s) 1438. Interfaceport(s) 1438 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1440 usesome of the same type of ports as input device(s) 1436. Thus, forexample, a USB port may be used to provide input to computer 1412, andto output information from computer 1412 to an output device 1440.Output adapter 1442 is provided to illustrate that there are some outputdevices 1440 like monitors, speakers, and printers, among other outputdevices 1440, that require special adapters. The output adapters 1442include, by way of illustration and not limitation, video and soundcards that provide a means of connection between the output device 1440and the system bus 1418. It should be noted that other devices and/orsystems of devices provide both input and output capabilities such asremote computer(s) 1444.

[0185] Computer 1412 can operate in a networked environment usinglogical connections to one or more remote computers, such as remotecomputer(s) 1444. The remote computer(s) 1444 can be a personalcomputer, a server, a router, a network PC, a workstation, amicroprocessor based appliance, a peer device or other common networknode and the like, and typically includes many or all of the elementsdescribed relative to computer 1412. For purposes of brevity, only amemory storage device 1446 is illustrated with remote computer(s) 1444.Remote computer(s) 1444 is logically connected to computer 1412 througha network interface 1448 and then physically connected via communicationconnection 1450. Network interface 1448 encompasses communicationnetworks such as local-area networks (LAN) and wide-area networks (WAN).LAN technologies include Fiber Distributed Data Interface (FDDI), CopperDistributed Data Interface (CDDI), Ethernet/IEEE 1102.3, Token Ring/IEEE1102.5 and the like. WAN technologies include, but are not limited to,point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

[0186] Communication connection(s) 1450 refers to the hardware/softwareemployed to connect the network interface 1448 to the bus 1418. Whilecommunication connection 1450 is shown for illustrative clarity insidecomputer 1412, it can also be external to computer 1412. Thehardware/software necessary for connection to the network interface 1448includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems and DSL modems, ISDN adapters, and Ethernet cards.

[0187]FIG. 15 is a schematic block diagram of a sample-computingenvironment 1500 with which the present invention can interact. Thesystem 1500 includes one or more client(s) 1510. The client(s) 1510 canbe hardware and/or software (e.g., threads, processes, computingdevices). The system 1500 also includes one or more server(s) 1530. Theserver(s) 1530 can also be hardware and/or software (e.g., threads,processes, computing devices). The servers 1530 can house threads toperform transformations by employing the present invention, for example.One possible communication between a client 1510 and a server 1530 maybe in the form of a data packet adapted to be transmitted between two ormore computer processes. The system 1500 includes a communicationframework 1550 that can be employed to facilitate communications betweenthe client(s) 1510 and the server(s) 1530. The client(s) 1510 areoperably connected to one or more client data store(s) 1560 that can beemployed to store information local to the client(s) 1510. Similarly,the server(s) 1530 are operably connected to one or more server datastore(s) 1540 that can be employed to store information local to theservers 1530.

[0188] What has been described above includes examples of the presentinvention. It is, of course, not possible to describe every conceivablecombination of components or methodologies for purposes of describingthe present invention, but one of ordinary skill in the art mayrecognize that many further combinations and permutations of the presentinvention are possible. Accordingly, the present invention is intendedto embrace all such alterations, modifications and variations that fallwithin the spirit and scope of the appended claims. Furthermore, to theextent that the term “includes” is used in either the detaileddescription or the claims, such term is intended to be inclusive in amanner similar to the term “comprising” as “comprising” is interpretedwhen employed as a transitional word in a claim.

What is claimed is:
 1. A system that filters received messages,comprising: a bulk filter to categorize one or more received messagesaccording to a range of classification, the range spanning from at leasta bulk classification of values to at least a non-bulk classification ofvalues; and at least a second filter to further classify the receivedmessages in order to automatically facilitate processing of themessages.
 2. The system of claim 1, the range of classification includesa continuum of values based on a likelihood that the received messagesare determined to tend toward the bulk classification of values ortoward the non-bulk classification of values.
 3. The system of claim 3,the bulk filter further comprises an adjustable threshold setting todetermine differences between the bulk classification if values and thenon-bulk classification of values.
 4. The system of claim 1, themessages include at least one of an email and a voice encoded text file.5. The system of claim 1, the second filter is an urgency filter that isemployed to assign urgency scores.
 6. The system of claim 5, the urgencyfilter employs a utility model that assigns an expected cost of delayedreview for urgent and non-urgent messages.
 7. The system of claim 1, atleast one of the bulk filter and the second filter examine new messagesand annotate the messages with an urgency value, represented in anurgency field, and a likelihood value of bulk email, represented in abulk email field.
 8. The system of claim 7, further comprising a policycomponent that includes policies or rules for considering inferencesrelating to message urgency and/or bulk considerations.
 9. The system ofclaim 8, the rules or policies are employed by the policy component toreassign bulk messages of a higher than threshold likelihood of beingbulk into a folder for later review.
 10. The system of claim 9, furthercomprising reassigning remaining email that are classified by urgency inanother folder.
 11. The system of claim 1, the bulk filter employs anexpected urgency computation followed by a weighting computation todetermine whether messages are bulk.
 12. The system of claim 11, theexpected urgency is computed as a function, f(p(urgent|E1 . . .En),p(bulk email|E1 . . . En)), wherein f is a function, p is aprobability, and E is evidence relating to urgency or whether a messageis bulk.
 13. The system of claim 12, the expected urgency is computedas: $\begin{matrix}{{{Expected}\quad {urgency}} = {{p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}\left( {{Cost}\quad {of}\quad {delayed}\quad {review}} \right.}} \\{\left. \left( {{Urgent}\quad {email}} \right) \right) + \left( {1 - {p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}} \right)} \\{\left( {{Cost}\quad {of}\quad {delayed}\quad {review}\quad \left( {{Non}\text{-}{urgent}\quad {email}} \right)} \right.}\end{matrix}$


14. The system of claim 12, bulk messages are determined as:$\begin{matrix}{{{Expected}\quad {urgency}} = {1 - {{p\left( {{bulk}\quad {email}} \middle| {{E1}\quad \ldots \quad {En}} \right)} \times}}} \\{\left\lbrack {{p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}\left( {{Cost}\quad {of}\quad {delayed}\quad {review}} \right.} \right.} \\{\left. \left( {{Urgent}\quad {email}} \right) \right) + \left( {1 - {p\left( {urgent} \middle| {{E1}\quad \ldots \quad {En}} \right)}} \right)} \\{\left( {{Cost}\quad {of}\quad {delayed}\quad {review}\quad \left( {{Non}\text{-}{urgent}\quad {email}} \right)} \right\rbrack}\end{matrix}$


15. The system of claim 1, bulk filter computes a bulk score ordiscretized states of the bulk score, as an direct input to the secondfilter forming a cascaded filter.
 16. The system of claim 1, furthercomprising a user interface having at least one of threshold settings,training settings, and bypass settings for interacting with the bulkfilter and the second filter.
 17. The system of claim 16, furthercomprising a header analyzer to automatically remove consideration ofsome messages from the bulk filter.
 18. The system of claim 17, furthercomprising marking messages as an internal to invoke a bypass mechanism.19. The system of claim 1, further comprising a component to compute aninitial value determination following by a time dependent cost function.21. A computer readable medium having computer readable instructionsstored thereon for implementing at least one of the bulk filter and thesecond filter of claim
 1. 22. A system that facilitates messagefiltering, comprising: means for automatically determining a messagescore for a bulk mailing message; and means for filtering the messagebased upon the score and a predetermined threshold.
 23. A method thatfacilitates message processing, comprising: employing a first filter todetermine a bulk message score for a message; employing a second filterto determine an urgency score for the message; and sorting the bulkmessage from other messages based upon at least one of the bulk messagescore and the urgency score.
 24. The method of claim 23, furthercomprising employing an adjustable threshold to facilitate the sorting.25. The method of claim 23, further comprising employing one or moreclassifiers to perform at least one of the first filter and the secondfilter.
 26. The method of claim 23, further comprising bypassing atleast one of the filters to enable sorting the bulk message from othermessages.
 27. The method of claim 23, further comprising employing atleast one of a parallel combination of filters and a serial combinationof filters to enable sorting of the bulk message from the othermessages.
 28. The method of claim 23, further comprising performing aweighting operation to determine the bulk message score.
 29. The methodof claim 23, further comprising utilizing an importance classifierfollowed by an urgency classifier to categorize bulk messages.
 30. Themethod of claim 23, further comprising utilizing an initial value filterfollowed by a time dependent cost filter.
 31. A method that facilitatesmessage processing, comprising: employing a first filter to determine abulk message score for a message; employing a second filter to determinean importance score for the message; and sorting the bulk message fromother messages based upon at least one of the bulk message score and theimportance score.
 32. The method of claim 31, further comprisingemploying an urgency filter to sort messages that have been determinedto be important.
 33. A computer readable medium having a data structurestored thereon, comprising: a first data field describing an electronicmessage; a second data field describing a bulk score for the electronicmessage; and a third data field describing an urgency score for theelectronic message.